package day.day7_13;

//import java.util.*;
//public class Main {
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        while (sc.hasNext()) {
//            int n = sc.nextInt();
//            int count = 0;
//            while(n!=0) {
//                if((n&1)==1) {//判断当前位是否为1
//                    count++;
//                }
//                n>>=1;//右移一位
//            }
//            System.out.println(count);
//        }
//    }
//}

public class Main {
    int findMinimum(int n, int[] left, int[] right) {
        int ans = 0;
        int ls = 0,rs = 0;
        int lmin = 27,rmin = 27;  //边界值是26
        for(int i=0;i<n;i++)
        {
            if(left[i]*right[i]==0)
            {
                ans+=left[i]+right[i];    //这里因为有一边为0，所以直接加起来就好了
            }
            else
            {
                ls+=left[i];              //计算左边除了为零的那几组的总和
                rs+=right[i];      //右边总和
                lmin = Math.min(lmin,left[i]);    //左边的最小值
                rmin =Math.min(rmin,right[i]);  //右边的最小值
            }
        }
        return ans+Math.min(ls-lmin+1,rs-rmin+1)+1;  //0的数量+最小拿出的数量+任意拿出的1
    }
}
